The present disclosure relates to control techniques for media player devices and, in particular, to control techniques for selecting frames to be decoded by such player devices.
Media delivery applications are becoming widespread in modern consumer devices. Media items representing video programming may be delivered from a media source device to a player device over a computer network where they may be decoded and displayed. Video content of the media item typically is coded by a protocol that compresses bandwidth of the video signal to reduce resource consumption in the network(s) such as the Internet that carry the media item from the media source to the player device. Such coding protocols often exploit spatial and/or temporal redundancies in media content to achieve compression. As a consequence, individual frames may not be accessible independently of other frames; the coding protocol may establish prediction dependencies between frames, which require some frames to be decoded before other frames can be decoded. These prediction dependencies can interfere with playback modes that require access to arbitrarily-selected frames.
In many applications, there is reasonable network latency between the media source and the player device. It often is valuable to deliver media items that contain content for all foreseeable playback modes. Thus, a given media item may have a sufficient number of frames not only to support “normal” playback modes but also to support trickplay modes, such as slow-motion playback. It is not uncommon for media items, for example, to contain a number of frames far in excess of ordinary playback modes—for example, 240 frames per second (“fps”) where normal playback might require only 60 fps—which would be accessed during alternative playback modes. Without some type of selection algorithm, a player device might require decode of all coded frames of a media item when only a smaller set is required for playback.
The inventors perceive a need in the art for a player control technique that selects coded frames from within a media item at reasonable processing cost.